package org.mango.jiayin.operater.operater.impl;

import com.alibaba.fastjson.JSON;
import java.util.Map;
import org.mango.jiayin.operater.domain.EventData;
import org.mango.jiayin.operater.exception.OperaterException;
import org.mango.jiayin.operater.operater.Operater;

/**
 * <p>
 * Title: json2Map
 * </p>
 * <p>
 * Description: json转换成map算子 例如: json2Map('{"log":"aa|bb|c,c|dd,cc"}')-->将json字符串转换成Map对象返回
 * </p>
 *
 * @author ji'anyuan
 * @date 2018年3月10日
 */
public class Json2MapOp implements Operater {

  @Override
  public String getName() {
    return "json2Map";
  }

  @Override
  public Object calc(String[] opParames, Object data, Map<String, Object> nestValues) {
    Operater.checkParames(opParames,1);

    Object[] values = Operater.getopParamesValues(opParames, data, nestValues);

    if (values[0] instanceof String && !((String) values[0]).trim().equals("")) {
      return JSON.parseObject((String) values[0], Map.class);
    }

    return null;
  }
}
